README Contents
============================================
1.  Introduction
2.  System Requirements
3.  Release Notes
4.  Features and Its Usage
5.  Known Issues and Bug Reporting
6.  License Agreement
7.  3rd party software

********************************************************************************************************************************************************************************************************

1.  Introduction
============================================
This README file contains release notes for the Intel(R) Modern Standby IPF Extension Provider, description and usage of all the features, any problems or issues that were known at the time of shipment.


Intel(R) Modern Standby IPF Extension Provider Overview:
--------------------------------------------
Intel(R) Modern Standby IPF Extension Provider (ModsProvider.dll) is a dynamic link library which uses the IPF Framework and helps to expose the Modern Standby related data of the platform.

2.  System Requirements
============================================

a. Microsoft® Windows 11 Desktop OS (Build 22000.100 and above)
b. The utility supports the following microprocessors:
    (i)   Intel® Core Processor Line Code name MeteorLake Processor
    (ii)  Intel® Core Processor Line Code name LunarLake Processor
    (iii) Intel® Core Processor Line Code name ArrowLake Processor
    (iv) Intel® Core Processor Line Code name Pantherlake Processor
    
c. IPF Extensible (V2.2.10204.7) Framework should be installed and available on the target system.


3.  Release Notes
============================================
Release 03.01.1002
    1) Fix added to execute in multithreaded environment
    2) IPF SDK changed to V2.2.10204.7

Release 03.01.1001
    1) Changed GUID and attachment node.
    2) LNL and ARL PV Release of the provider package built with IPF SDK V2.1.10105.19.

Release 02.01.1002
    1) Fixed the issue of "The system was unable to find the specified registry key or value".
   
Release 02.01.1001
    1) Enabled LNL/ARL platforms support.
    2) for MTL/ARL systems, IPF Core (V1.0.11403.38401) and Extensible (V2.1.10102.8) Framework should be installed and available on the target system.
    3) For LNL systems, IPF Core (V1.0.11461.38215) and Extensible (V2.1.10161.5) Framework should be installed and available on the target system.

Release 01.01.1003
   1) Fix for GUID Mismatch
        (i)  Platform.System.State.Sleep has been updated to {90C746B8-366E-4A19-B881-DA9910A2083D}
        (ii) Platform.System.State.Hibernate has been updated to {A30E5E84-0BF8-4090-B00A-7DE98AFA610A}
   2) Updated the IPF SDK version to V2.1.10161.5
   3) Fixed MTL bug : "Got IpfException when accessing the namespace: Failed to validate against JSON schema: data: At  of 0 - unexpected instance type". Issue was on Platform.System.State.Debug for YellowBangDevice ,due to special character present in DeviceName. 

Release 01.01.1002
   1) Fix for InfVerif issue for DCH Compliance check to be passed
   2) Updated the IPF SDK version to V2.1.10100.37

Release 01.01.1001
    Initial Release of Intel(R) Modern Standby IPF Extension Provider with below data from the system.
        1) Sleep Study Top Offenders
        2) Yellow Bang Devices
        3) Adaptive Hibernate related Settings    

4.  Features and Its Usage
============================================

The Intel® Modern Standby IPF Extension Provider includes the Provider DLL and INF files for installation. The Modern Standby Provider reads the Sleep Study top offenders, Yellow Bang devices and Adaptive hibernate settings of the system.

Please refer the Intel® Innovation Platform Framework Namespace User Guide for the list of capabilities supported by this provider.
       Document Number: 732035 
       File Download URL: https://cdrdv2.intel.com/v1/dl/getContent/732035 

To install, register and use this provider with the IPF Framework, follow below steps.
        a. Open Command prompt in Administrator mode
        b. CD to "Intel(R) Modern Standby IPF Extension Provider" folder
        c. Run below commands
                pnputil /add-driver ModsProvider_ext.inf /install
                pnputil /add-driver ModsProvider_sw.inf /install
                
To uninstall the provider, follow below steps.
        a. Open Command prompt in Administrator mode
        b. Run below command and get the <oem#.inf> filenames associated with ModsProvider_ext.inf and ModsProvider_sw.inf.
                pnputil /enum-drivers
        c. Once the <oem#.inf> filenames are obtained, run below command for both the <oem#.inf> files
                pnputil /delete-driver <oem#.inf> /uninstall


5.  Known Issues and Bug Reporting
============================================
a. Mod-S provider does not work for multiclient scenario where multiple terminals are launched to execute test client.
b. After system in re-flashed with new OS, for the very first time Mod-S provider will not return data reporting - "Failure in capturing Top Offenders Data". Next time onwards, data retrieval will work properly. Also putting the system to modern standby cycling is mandatory for getting data through modern standby provider.
c. Following capability path is not available as part of this release. Hence null will be returned. It will be enabled in the next release.
Platform.System.Debug.YellowBang[].DeviceName
Platform.System.Debug.YellowBang[].HardwareID
Platform.System.Debug.YellowBang[].CompatibleID
Platform.System.Debug.YellowBang[].Service
Platform.System.Debug.YellowBang[].ClassGuid

To report a bug on this utility, please submit the bug report to your Intel Field Representative.


6.  License Agreement:
============================================
This ReadMe file as well as the software described in it is furnished under license and may only be used or copied in accordance with the terms of the license. The information in this manual is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Intel Corporation. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document.

Except as permitted by such license, no part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without the express written consent of Intel Corporation. 
Information in this document is provided in connection with Intel products. No license, expressed or implied otherwise, to any intellectual property rights is granted by this document. Except as provided in Intel's Terms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or implied warranty, relating to sale and/or use of Intel products including liability or warranties relating to fitness for a particular purpose, merchantability, or infringement of any patent, copyright or other intellectual property right. Intel products are not intended for use in medical, lifesaving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice.
Copyright (C) 2023 Intel Corporation. All rights reserved.

Intel is a trademark or registered trademark of Intel Corporation or its subsidiaries in the registered trademark of Intel Corporation or its subsidiaries in the United States and other countries.


7.  3rd party software:
============================================

    No Third-party components are shipped with this provider.

********************************************************************************************************************************************************************************************************
*Third-party brands and names are the property of the respective owners.
